package com.baijiayun.sdk.model;

import java.util.List;

/**
 * @author Smile
 */
public class GetVideoInfoResponse {
    /**
     * 视频ID
     */
    private int videoId;
    /**
     * 视频名称
     */
    private String name;
    /**
     * 转码状态(具体值参见 获取转码状态接口)
     */
    private int status;
    /**
     * 视频大小（转码完才会有大小）单位：字节
     */
    private int totalSize;
    /**
     * 总视频大小（源文件+所有转码后文件） 单位：字节
     */
    private int totalTranscodeSize;
    /**
     *  添加时间
     */
    private Long createTime;
    /**
     * 封面图片地址
     */
    private String prefaceUrl;
    /**
     * 视频时长 单位:秒
     */
    private String length;
    /**
     * 视频审核状态 0:未审核 1:审核通过 2:审核拒绝 （只要不是审核拒绝的都可以正常播放）
     */
    private int auditStatus;
    /**
     * 原始视频的md5值
     */
    private String fileMd5;
    /**
     * 原始视频清晰度(low/std/high/super/1080p)
     */
    private String originDefinition;
    /**
     * 转码后文件信息
     */
    private List<TranscodeInfo> transcodeInfo;


    public static class TranscodeInfo {
        /**
         *转码的文件格式(mp4/flv/m3u8)
         */
        private String type;
        /**
         *转码的文件大小 单位：字节
         */
        private String size;

        private List<Category> category;

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getSize() {
            return size;
        }

        public void setSize(String size) {
            this.size = size;
        }

        public List<Category> getCategory() {
            return category;
        }

        public void setCategory(List<Category> category) {
            this.category = category;
        }

        public static class Category {
            /**
             * 分类ID
             */
            private int id;
            /**
             * 分类层级
             */
            private int level;
            /**
             * 分类名
             */
            private String name;

            public int getId() {
                return id;
            }

            public void setId(int id) {
                this.id = id;
            }

            public int getLevel() {
                return level;
            }

            public void setLevel(int level) {
                this.level = level;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }
        }
    }
}
